package com.huike.clues.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.huike.clues.domain.SysDictData;
import com.huike.clues.domain.dto.my.DictExportDTO;
import com.huike.clues.domain.dto.my.DictQueryDTO;
import com.huike.common.core.domain.entity.SysDictDataDTO;

import java.util.List;

/**
 * 字典数据业务层
 */
public interface SysDictDataService extends IService<SysDictData> {


    /**
     * 新增字典数据
     *
     * @param sysDictDataDTO
     * @return
     */
    boolean addDictData(SysDictDataDTO sysDictDataDTO);

    /**
     * 修改字典数据
     *
     * @param sysDictDataDTO
     * @return
     */
    boolean updateDictData(SysDictDataDTO sysDictDataDTO);

    /**
     * 分页查询字典数据信息
     * @param dictQueryDTO
     * @return
     */
    List<SysDictData> selectSysDictDataList(DictQueryDTO dictQueryDTO);

    /**
     * 根据字典类型查询字典数据信息
     * @param dictType
     * @return
     */
    List<SysDictData> selectByDictType(String dictType);

    /**
     * 删除字典数据
     *
     * @param dictCodes
     * @return
     */
    boolean delectDictData(Long[] dictCodes);

    /**
     * 查询字典数据详细信息
     *
     * @param dictCode
     * @return
     */
    SysDictData selectDictData(Long dictCode);

    /**
     * 导出字典数据
     *
     * @param dictExportDTO
     * @return
     */
    List<SysDictData> export(DictExportDTO dictExportDTO);
}
